package com.ztmg.water.mapper.order;

import com.ztmg.water.dto.base.DeliveryManDTO;
import com.ztmg.water.dto.bills.OutPutBillsDTO;
import com.ztmg.water.model.order.OrderWater;
import com.ztmg.water.model.order.OrderWaterExample;
import java.util.List;
import java.util.Map;

import com.ztmg.water.vo.order.OrderWaterVO;
import org.apache.ibatis.annotations.Param;

public interface OrderWaterMapper {
    long countByExample(OrderWaterExample example);

    int deleteByExample(OrderWaterExample example);

    int deleteByPrimaryKey(Integer id);

    int insert(OrderWater record);

    int insertSelective(OrderWater record);

    List<OrderWater> selectByExample(OrderWaterExample example);

    OrderWater selectByPrimaryKey(Integer id);

    int updateByExampleSelective(@Param("record") OrderWater record, @Param("example") OrderWaterExample example);

    int updateByExample(@Param("record") OrderWater record, @Param("example") OrderWaterExample example);

    void updateStatusAndSendBucketNumByOrderId(@Param("orderId") String orderId);

    void updateDepositRecordByOrderId(@Param("orderId") String orderId);

    void updateOrderStatusByOrderId(Map<String,String> params);

    int updateByPrimaryKeySelective(OrderWater record);

    int updateByPrimaryKey(OrderWater record);

    List<OrderWaterVO> selectOrderListByDeliveryMan(DeliveryManDTO deliveryManDTO );

    int selectCountOrderListByDeliveryMan(DeliveryManDTO deliveryManDTO);

    List<OrderWaterVO> selectOrderListByOrderId(OutPutBillsDTO dto);

    Map<String,Object> selectCountWaterNumsByOrderId(OutPutBillsDTO dto);

    List<OrderWater> selectWaterNumByOrderId(OutPutBillsDTO dto);

    List<OrderWaterVO> selectOrderDetailByOrderId(Map<String,Object> params);
}